The DNS system utilizes a hierarchical structure to associate fully qualified domain names to a particular IP address in response to a DNS query. For example, if a user visits the website www.example.com on their computer's Internet browser, typically, the stub resolver on the computer would (1) first check its own DNS cache for a suitable response; (2) if not available in cache, query a recursive name server or possibly each level of the delegation graph from the root DNS server downward with the same information, expecting a reply. If the queried system has the information or is authoritative for the precise question, it provides a response or error. If it does not but knows who is, it provides a delegation/referral to the child that should have more precise information. To leverage larger caching mechanisms, a DNS resolver (recursive name server) may be used between steps (1) and (2). Because a DNS resolver services many users, it typically holds a larger cache, helping to reduce the load on root servers and registry servers and often minimize response times for users because it is commonly topologically closer to the client. A DNS resolver may also act as a recursive name server, handling the multiple transactions and following delegations/referral chains between different name servers to resolve the final IP address for the resource in question, simply passing the final answer back to the user's computer. A DNS resolver may ultimately provide in its response a network layer identifier or service location id, which in some instances may be the same.
Some DNS servers provide a firewall service that supports basic filtering of DNS queries based on the source IP address of the original querying machine. For example, some servers may compare the source IP address to whitelists or blacklists of IP addresses and allow or disallow the IP address accordingly. Other servers may use the source IP address to approximate the location (geolocation) of the query source machine, and use this location information to customize the response by returning an IP address of a resource server that is thought to be closer in proximity than another. In all of these cases, generally, once the response is allowed, the DNS response returns the IP address (or network layer identifier or service location id) of a machine that will provide access to the resource server. This IP address, the network layer identifier and service location id, is resolved regardless of the status of the user's permission to ultimately use the resource.
These DNS servers that provide a firewall service are generally accessed based on a configuration of an internal recursive server at a customer's own network. However, when a client device is used outside of the customer's own network, then the client device inherits the recursive configuration from an “off-net” location, meaning a location that is off the network of the customer's network. When resolving DNS requests while the client device is in the off-net location, the recursive configuration may not direct DNS requests to the DNS server that provides the customer's firewall service.
Further, when a client device is not within the customer's own network, the client device cannot access an internal version of a split zone.